Test Generation using Model Checking
نویسندگان
چکیده
Testing in the software industry is, in general an ad hoc task. There are guidelines to follow but in most cases do not cover sufficient portions of the software product. Recent work has been done to automatically generate test cases such that designers are no longer responsible for designing the test cases but ensuring that the specification of the software is valid. These formal specifications are then used as inputs into the automatic test generation tools, the results of the tool would be a set of test cases that do a better job at covering the range of tests than current non-automated methodologies. In this paper, we surveay a few such techniques that use model checking technologyas the test generation engine. There are two areas of interest we intend to cover. First is the actual test generation. We discuss a couple techniques that alter the specification to force the model checker to output counter-examples that are then used as test cases for the software application. Second we examine a few methods that attack automated generation from a state space perspective. That is the specifications that are designed for practical industrial products typically contain far too many states for the model checker to verify to completion. These methods attempt to reduce the state space while maintaining sufficient details that test generation is still possible.
منابع مشابه
Auto-generating Test Sequences Using Model Checkers: A Case Study
Use of model-checking approaches for test generation from requirement models have been proposed by several researchers. These approaches leverage the witness (or counter-example) generation capability of model-checkers for constructing test cases. Test criteria are expressed as temporal properties. Witness traces generated for these properties are instantiated to create complete test sequences,...
متن کاملA Hybrid Meta-heuristic Approach to Cope with State Space Explosion in Model Checking Technique for Deadlock Freeness
Model checking is an automatic technique for software verification through which all reachable states are generated from an initial state to finding errors and desirable patterns. In the model checking approach, the behavior and structure of system should be modeled. Graph transformation system is a graphical formal modeling language to specify and model the system. However, modeling of large s...
متن کاملFunctional Test Generation using SAT-based Bounded Model Checking
Functional validation is one of the major bottlenecks in processor design methodology due to combined effects of increasing complexity and decreasing time-to-market. Increasing complexity of designs leads to larger set of design errors. Shorter time-tomarket requires a faster validation scheme. Simulation using functional test vectors is the most widely used form of processor validation. While ...
متن کاملTest Generation for Intelligent Networks Using Model Checking
We study the use of model checking techniques for the generation of test sequences. Given a formal model of the system to be tested, one can formulate test purposes. A model checker then derives test sequences that fulfill these test purposes. The method is demonstrated by applying it to a specification of an Intelligent Network with two features.
متن کاملModel Checking Based Test Generation from P Systems Using P-Lingua
This paper presents an approach for P system testing, that uses model-checking for automatic test generation and P-Lingua as specification language. This approach is based on a transformation of the transitional, nondeterministic, cell-like P system into a Kripke structure, which is further used for test generation, by adding convenient temporal logic specifications. This paper extends our prev...
متن کاملAutomatic Test Data Generation and Model Checking with CHR
We present an example for application of Constraint Handling Rules to automated test data generation and model checking in verification of mission critical software for satellite control.
متن کامل